#ifndef INPUT_H
#define INPUT_H
#include "ntk_vs.h";
#include "onafhankelijkeData.h";
/*
--------------------------structs en types--------------------------
*/
//de data wat in de sensorOutput terecht zal komen.
struct SensorUitvoer{
	Actie actie;
	int snelheid;
};
typedef struct SensorUitvoer SensorUitvoer;

//de struct van de sensoren welke meegegeven dient te worden aan alle opdrachten.
struct sensor{
	task* taak; //de taak waarop de sensor werkt
	mailBox sensorInput; //de input van het form
	mailBox sensorOutput; //de output van de sensor
	event dataOpInvoer; //de data staat klaar op sensorOutput
	int gasOud,remOud,koppelingOud;
	SensorUitvoer uitdata;
};
typedef struct sensor sensor;

/*
--------------------------Methodes en functies--------------------------
*/
//geeft de mailbox waarop input wordt ontvange terug
mailBox* GiveInput(sensor sens);
//Deze methode zorgt voor het initialiseren van alle attributen binnen de sensor
void sensorInit(sensor *sens);
//Dit is de taak van de sensor. Deze dient handmatig gestart te worden.
unsigned __stdcall inputStart(void* arg);
//Deze taak handelt de verwijdering van de sensor attributen af
void sensorDelete(sensor *sens);
#endif